/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladora;

import Entidades.Agencia;
import Entidades.Cliente;
import Entidades.Conta;
import Persistencia.PersistenciaAgencia;
import Persistencia.PersistenciaCliente;
import Persistencia.PersistenciaConta;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import telas.CadastroClienteView;
import telas.ManterClienteView;

/**
 *
 * @author Thalyta
 */
public class CadastrarClientePresenter {
    
    private CadastroClienteView cliente ;
 
    public CadastrarClientePresenter(CadastroClienteView clientes) {
        
        this.cliente = clientes;
        
       
        
          cliente.getBtnsalvar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                
                cadastrar();
               
            }
            
        });
          
          
          clientes.getBtnfechar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
               fechar();
            }
        });
        
        
      cliente.setVisible(true);   
    }
    
    public void fechar(){
        
               ManterClienteView telacliente = new ManterClienteView();
               ManterClientePresenter telamanter = new ManterClientePresenter(telacliente);
               cliente.setVisible(false); 
    
    }
    
    public void cadastrar(){
               PersistenciaConta contas = new PersistenciaConta();
               PersistenciaCliente clientes = new PersistenciaCliente();
               if(("".equals(cliente.getTxtnumeroconta().getText())) || ("".equals(cliente.getTxtlimite().getText())) || ("".equals(cliente.getTxtsaldo().getText())) || ("".equals(cliente.getTxtcodigo().getText())) || ("".equals(cliente.getTxtnome().getText())) ||("".equals(cliente.getTxtCpf().getText())) || ("".equals(cliente.getTxtendereco().getText())) || ("".equals(cliente.getTxtnomeusuario().getText()))){
               JOptionPane.showMessageDialog(cliente, "Campos em brancos, por favor digite novamente");
               }
               else {
                   
               Conta conta = new Conta(Integer.parseInt(cliente.getTxtnumeroconta().getText()),Float.parseFloat(cliente.getTxtlimite().getText()),Float.parseFloat(cliente.getTxtsaldo().getText()));
               contas.adicinarConta(conta);
               contas.gravaConta();
               Agencia a  ;
               PersistenciaAgencia agencias = new PersistenciaAgencia(); 
               String codigo = cliente.getTxtcodigo().getText();
               a = agencias.PesquisaAgencia(codigo);
               if (a == null){
                   
               JOptionPane.showMessageDialog(cliente, "Agencia não Existe");
               
               }
               else {
                
               Cliente clientes1;
               clientes1 = clientes.PesquisaCliente(cliente.getTxtnome().getText());
               if(clientes1 != null){
                   JOptionPane.showMessageDialog(cliente, "Cliente já cadastrado");
               }
               else {
              clientes1 = new Cliente(conta, a,cliente.getTxtnome().getText(), cliente.getTxtCpf().getText(),cliente.getTxtendereco().getText(),cliente.getTxtnomeusuario().getText());
               clientes.adicinarCliente(clientes1);
               clientes.gravaCliente();
               ManterClienteView telacliente = new ManterClienteView();
               ManterClientePresenter telamanter = new ManterClientePresenter(telacliente);
               cliente.setVisible(false); 
               }
               }
               }
    }
}
